//package org.jwcloud.project.module.zx.common;
//
//import java.io.IOException;
//import java.io.OutputStream;
//import java.util.List;
//import java.util.Map;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//import org.apache.poi.hssf.usermodel.HSSFRow;
//import org.apache.poi.hssf.usermodel.HSSFSheet;
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.ss.usermodel.CellStyle;
//import org.apache.poi.ss.usermodel.DataFormat;
//
//import com.google.common.collect.Lists;
//import com.google.common.collect.Maps;
//
//import net.sf.cglib.beans.BeanMap;
//
//public class ExcelUtil {
//
//	
//    /** 
//	* 将对象装换为map 
//	* @param bean 
//	* @return 
//	*/  
//	public static <T> Map<String, Object> beanToMap(T bean) {  
//	 Map<String, Object> map = Maps.newHashMap();  
//	 if (bean != null) {  
//	     BeanMap beanMap = BeanMap.create(bean);  
//	     for (Object key : beanMap.keySet()) {  
//	         map.put(key+"", beanMap.get(key));  
//	     }             
//	 }  
//	 return map;  
//	}  
//	
//	/** 
//	* 将map装换为javabean对象 
//	* @param map 
//	* @param bean 
//	* @return 
//	*/  
//	public static <T> T mapToBean(Map<String, Object> map,T bean) {  
//	 BeanMap beanMap = BeanMap.create(bean);  
//	 beanMap.putAll(map);  
//	 return bean;  
//	}  
//	
//	/** 
//	* 将List<T>转换为List<Map<String, Object>> 
//	* @param objList 
//	* @return 
//	* @throws JsonGenerationException 
//	* @throws JsonMappingException 
//	* @throws IOException 
//	*/  
//	public static <T> List<Map<String, Object>> objectsToMaps(List<T> objList) {  
//	 List<Map<String, Object>> list = Lists.newArrayList();  
//	 if (objList != null && objList.size() > 0) {  
//	     Map<String, Object> map = null;  
//	     T bean = null;  
//	     for (int i = 0,size = objList.size(); i < size; i++) {  
//	         bean = objList.get(i);  
//	         map = beanToMap(bean);  
//	         list.add(map);  
//	     }  
//	 }  
//	 return list;  
//	}  
//	
//	/** 
//	* 将List<Map<String,Object>>转换为List<T> 
//	* @param maps 
//	* @param clazz 
//	* @return 
//	* @throws InstantiationException 
//	* @throws IllegalAccessException 
//	*/  
//	public static <T> List<T> mapsToObjects(List<Map<String, Object>> maps,Class<T> clazz) throws InstantiationException, IllegalAccessException {  
//	 List<T> list = Lists.newArrayList();  
//	 if (maps != null && maps.size() > 0) {  
//	     Map<String, Object> map = null;  
//	     T bean = null;  
//	     for (int i = 0,size = maps.size(); i < size; i++) {  
//	         map = maps.get(i);  
//	         bean = clazz.newInstance();  
//	         mapToBean(map, bean);  
//	         list.add(bean);  
//	     }  
//	 }  
//	 return list;  
//	}  
//	
//	public static void exportExcel(HttpServletRequest request, 
//			HttpServletResponse response
//			, String excelName
//			, String[][] column
//			, List<Map<String, Object>> list) throws IOException {
//        HSSFWorkbook wb = new HSSFWorkbook();
//
//        CellStyle css = wb.createCellStyle();
//        DataFormat format = wb.createDataFormat();
//        css.setDataFormat(format.getFormat("@"));
//
//        HSSFSheet sheet1 = wb.createSheet("sheet1");
//
//        for(int i = 0; i < column.length; i++) {
//        	sheet1.setDefaultColumnStyle(i, css);
//        }
//
//        HSSFRow row0 = sheet1.createRow(0);
//        for(int i = 0; i < column.length; i++) {
//        	row0.createCell(i).setCellValue(column[i][1]);
//        }
//        
//        for(int i = 0; i < list.size(); i++) {
//        	HSSFRow tempRow = sheet1.createRow(i + 1);
//        	for(int j = 0; j < column.length; j++) {
//        		tempRow.createCell(j).setCellValue((String)list.get(i).get(column[j][0]));
//        	}
//        }
//
//        response.setContentType("application/vnd.ms-excel;charset=utf-8");
//        OutputStream os = response.getOutputStream();
//        response.setHeader("Content-disposition", "attachment;filename="+java.net.URLEncoder.encode("包区执行人维护模板", "UTF-8")+".xls");//默认Excel名称
//        wb.write(os);	//导出
//        os.flush();
//        os.close();
//	}
//	
//}
